(1) Field of the Invention
The present invention relates generally to mobile robotic devices, and more particularly, to a navigational control system for a robotic device operating under the direction of a navigation control algorithm that tracks the movement activity of the robotic device and utilizes movement activity to provide one or more control instructions to the robotic device, which in response thereto, implements a prescribed conduct, e.g., one or more basic maneuvers and/or behavioral patterns to increase the coverage efficiency of such robotic devices for covering a defined working area, e.g., sweeping, vacuuming a room, and/or performing residential yard maintenance.
(2) Description of Related Prior Art
Robotic engineers have long worked on developing an effective method of autonomous cleaning. This has led to the development of two separate and distinct schemes for autonomous robotic devices: (1) deterministic cleaning; and (2) random cleaning.
In deterministic cleaning, where the cleaning rate equals the coverage rate and is, therefore, a more efficient cleaning method than random-motion cleaning, the autonomous robotic device follows a defined path, e.g., a boustrophedon path that is calculated to facilitate complete cleaning coverage of a given area while eliminating redundant cleaning. Deterministic cleaning requires that the robotic device maintain precise position knowledge at all times, as well as its position history (where it has been), which, in turn, requires a sophisticated positioning system. A suitable positioning system—a positioning system suitably accurate for deterministic cleaning might rely on scanning laser ranging systems, ultrasonic transducers, a carrier phase differential GPS, or other sophisticated methods—is typically prohibitively expensive and labor intensive, requiring an involved pre-setup to accommodate the unique conditions of each area to be cleaned, e.g., room geometry, furniture locations. In addition, methods that rely on global positioning are typically incapacitated by failure of any part of the positioning system.
One illustrative example of a highly sophisticated (and relatively expensive) robotic device for deterministic cleaning is the RoboScrub device built by Denning Mobile Robotics and Windsor Industries. The RoboScrub device employs sonar and infrared detectors, bump sensors, and a high-precision laser navigation system to define the deterministic cleaning path. The navigation system employed with the RoboScrub device requires numerous large bar code targets to be set up in various strategic positions within the area to be cleaned, and effective operation of the navigation system requires that at least four of such targets be visible simultaneously. This target accessibility requirement effectively limits the use of the RoboScrub device to large uncluttered open areas.
Other representative deterministic robotic devices are described in U.S. Pat. No. 5,650,702 (Azumi), U.S. Pat. No. 5,548,511 (Bancroft), U.S. Pat. No. 5,537,017 (Feiten et al.), U.S. Pat. No. 5,353,224 (Lee et al.), U.S. Pat. No. 4,700,427 (Knepper), and U.S. Pat. No. 4,119,900 (Kreimnitz). These representative deterministic robotic devices are likewise relatively expensive, require labor intensive pre-setup, and/or are effectively limited to large, uncluttered areas of simple geometric configuration (square, rectangular rooms with minimal (or no) furniture).
Due to the limitations and difficulties inherent in purely deterministic cleaning systems, some robotic devices rely on pseudo-deterministic cleaning schemes such as dead reckoning. Dead reckoning consists of continually measuring the precise rotation of each drive wheel (e.g., using optical shaft encoders) to continually calculate the current position of the robotic device, based upon a known starting point and orientation. In addition to the disadvantages of having to start cleaning operations from a fixed position with the robotic device in a specified orientation, the drive wheels of dead reckoning robotic devices are almost always subject to some degree of slippage, which leads to errors in the calculation of current position. Accordingly, dead reckoning robotic devices are generally considered unreliable for cleaning operations of any great duration—resulting in intractable system neglect, i.e., areas of the surface to be cleaned are not cleaned. Other representative examples of pseudo-deterministic robotic devices are described in U.S. Pat. No. 6,255,793 (Peless et al.) and U.S. Pat. No. 5,109,566 (Kobayashi et al.).
A robotic device operating in random motion, under the control of one or more random-motion algorithms stored in the robotic device, represents the other basic approach to cleaning operations using autonomous robotic devices. The robotic device autonomously implement such random-motion algorithm(s) in response to internal events, e.g., signals generated by a sensor system, elapse of a time period (random or predetermined). In a typical room without obstacles, a robotic device operating under the control of a random-motion algorithm will provide acceptable cleaning coverage given enough cleaning time. Compared to a robotic device operating in a deterministic cleaning mode, a robotic device utilizing a random-motion algorithm must operate for a longer period of time to achieve acceptable cleaning coverage. To have a high confidence that a random-motion robotic device has cleaned 98% of an obstacle-free room, the random-motion robotic device must run approximately five times longer than a deterministic robotic device having similarly sized cleaning mechanisms and moving at approximately the same speed.
However, an area to be cleaned that includes one or more randomly-situated obstacles causes a marked increase in the running time for a random-motion robotic device to effect 98% cleaning coverage. Therefore, while a random motion robotic device is a relatively inexpensive means of cleaning a defined working area as contrasted to a deterministic robotic device, the random-motion robotic device requires a significantly higher cleaning time.
A need exists to provide a deterministic component to a random-motion robotic device to enhance the cleaning efficiency thereof to reduce the running time for the random-motion robotic cleaning to achieve a 98% cleaning coverage.